const express = require('express')
const router = express.Router()
// 引入fs模块
const fs = require('fs');
const path = require('path');

const record = function (req, res, next) {
    console.log("这是record1中间件");
    next();
}

router.get('/list', record, (req, res) => {
    res.send({
        msg: '请求成功',
        status: true
    })
})

// 查找用户
router.get('/find', (req, res) => {
    fs.readFile(path.join(__dirname, '../data/user.json'), (err, data) => {
        res.send({
            msg: '请求成功',
            status: true,
            data: JSON.parse(data.toString())
        });
    })
})

// 用户通过get请求传递过来的参数，可以通过req.query拿到
// 安装了body-parser模块以后，可以直接通过req.body拿到用户传递过来的参数

// 添加用户
router.post("/add", (req, res) => {
    // 获取用户传递过来的user信息
    const newUser = req.body

    // // 获取user.json中的用户数组
    // let arrStr = fs.readFileSync(path.join(__dirname, '../data/user.json')).toString()
    // let arr = JSON.parse(arrStr)

    // // 把新的用户信息追加到数组中
    // arr.push(newUser)

    // // 把新的数组信息写入到user.json中
    // fs.writeFileSync(path.join(__dirname, '../data/user.json'), JSON.stringify(arr))

    // 发送响应
    res.send({
        msg: '添加成功',
        status: true
    })
})

// 修改用户
router.post("/update", (req, res) => {
    // 获取用户传递过来的user信息
    const newUser = req.body

    //  获取user.json中的用户数组
    let arrStr = fs.readFileSync(path.join(__dirname, '../data/user.json')).toString()
    let arr = JSON.parse(arrStr)

    // 查找用户数组中是否存在该用户
    let userIndex = arr.findIndex(item => {
        return item.id === newUser.id
    })

    // 如果存在，修改该用户的信息，然后返回提示信息
    if (userIndex !== -1) {
        // 用户存在,替换用户
        arr.splice(userIndex, 1, newUser)
        // 把新的数组信息写入到user.json中
        fs.writeFileSync(path.join(__dirname, '../data/user.json'), JSON.stringify(arr))
        res.send({
            msg: '修改成功',
            status: true
        })
    } else {
        // 用户不存在
        res.send({
            msg: '用户不存在',
            status: false
        })
    }

    // 如果不存在，返回提示信息
})

// 删除用户
router.get("/delete", (req, res) => {
    // 获取用户传递过来的id信息
    const userId = req.query.id

    // //  获取user.json中的用户数组
    // let arrStr = fs.readFileSync(path.join(__dirname, '../data/user.json')).toString()
    // let arr = JSON.parse(arrStr)

    // // 查找用户数组中是否存在该用户
    // let userIndex = arr.findIndex(item => {
    //     return item.id === parseInt(userId)
    // })

    // // 如果存在，删除该用户的信息，然后返回提示信息
    // if (userIndex !== -1) {
    //     // 用户存在,替换用户
    //     arr.splice(userIndex, 1)
    //     // 把新的数组信息写入到user.json中
    //     fs.writeFileSync(path.join(__dirname, '../data/user.json'), JSON.stringify(arr))
    //     res.send({
    //         msg: '删除成功',
    //         status: true
    //     })
    // } else {
    //     // 用户不存在
    //     res.send({
    //         msg: '用户不存在',
    //         status: false
    //     })
    // }
    res.send({
        msg: '用户不存在',
        status: false
    })
})


module.exports = router